#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
USER app
WORKDIR /app
EXPOSE 8080
EXPOSE 8081

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["src/ZenSystemService.Api/ZenSystemService.Api.csproj", "."]
RUN dotnet restore "ZenSystemService.Api.csproj"
COPY src/ZenSystemService.Api/. .
RUN dotnet build -c $BUILD_CONFIGURATION
RUN dotnet publish -c $BUILD_CONFIGURATION --no-build /p:UseAppHost=false

#FROM build AS publish
#ARG BUILD_CONFIGURATION=Release
#WORKDIR /
#COPY --from=build /build/. ./build
#COPY ["src/ZenSystemService.Api/ZenSystemService.Api.csproj", "."]
#RUN dotnet publish -c $BUILD_CONFIGURATION --no-build -o ./build /p:UseAppHost=false

FROM base AS final
WORKDIR /app
#RUN chmod 777 /www/wwwroot/res.zencontrol.net
COPY --from=build /src/bin/Release/net8.0/publish/. .
ENTRYPOINT ["dotnet", "ZenSystemService.Api.dll"]